package org.summer.lawyer.domain.vo.spu;

import io.github.linpeilie.annotations.AutoMapper;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.summer.lawyer.domain.Spu;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 *
 */
@Data
@AutoMapper(target = Spu.class)
public class SpuUpdateVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 5067078477234465279L;


    /**
     * 主键ID
     */
    private Long spuId;

    /**
     * 商品分类ID
     */
    private Long categoryId;

    /**
     * 商品分类名称
     */
    private String categoryName;

    /**
     * 商品名称
     */
    private String spuName;

    /**
     * 商品副标题
     */
    private String subtitle;

    /**
     * 商品介绍主图
     */
    private String mainImgUrl;

    /**
     * 商品图片 多个图片逗号分隔
     */
    private String secImgUrl;

    /**
     * 售价（单位分）
     */
    private Long priceFee;

    /**
     * 市场价（单位分）
     */
    private Long marketPriceFee;

    /**
     * 状态(0 下架，1上架）
     */
    private String spuStatus;

    /**
     * 销售数量统计方式( 1 实际销售数量，2 固定数量， 3固定数量加销售数量）
     */
    private String saleTrack;

    /**
     * 商品介绍
     */
    private String spuDesc;

    /**
     * 商品详情
     */
    private String spuDetail;

    /**
     * 创建者
     */
    private Long createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新者
     */
    private Long updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 销售数量
     */
    private Integer totalSales;

    /**
     * 是否需要指派律师处理（0不需要，1需要）
     */
    @Schema(title = "dispatchable", type = "String", description = "是否需要指派律师处理（0不需要，1需要）")
    private String dispatchable;

    /**
     * 附件地址
     */
    @Schema(title = "url", type = "String", description = "附件地址")
    private String url;

    /**
     * 附件ID
     */
    @Schema(title = "attachmentId", type = "String", description = "附件ID")
    private String attachmentId;
}
